/*
 * Wazuh Vulnerability Scanner - Unit Tests
 * Copyright (C) 2015, Wazuh Inc.
 * September 21, 2023.
 *
 * This program is free software; you can redistribute it
 * and/or modify it under the terms of the GNU General Public
 * License (version 2) as published by the FSF - Free Software
 * Foundation.
 */

#ifndef _SCAN_CONTEXT_TEST_HPP
#define _SCAN_CONTEXT_TEST_HPP

#include "flatbuffers/flatbuffers.h"
#include "gtest/gtest.h"

/**
 * @brief Runs unit tests for ScanContext
 */
class ScanContextTest : public ::testing::Test
{
protected:
    // LCOV_EXCL_START
    ScanContextTest() = default;
    ~ScanContextTest() override = default;

    /**
     * @brief Set the environment for testing.
     *
     */
    void SetUp() override {};

    /**
     * @brief Clean the environment after testing.
     *
     */
    void TearDown() override;

    /**
     * @brief Converts to a C style string from a fb string pointer.
     *
     * @param pStr fb pointer to string.
     * @return const char* C style string converted.
     */
    const char* fbStringGetHelper(const flatbuffers::String* pStr);
    // LCOV_EXCL_STOP
};

#endif // _SCAN_CONTEXT_TEST_HPP
